#define _CRT_SECURE_NO_WARNINGS 1
//#include <iostream>
//#include <cstdio>
//
//using namespace std;
//const int N = 1e5 + 10, M = 31e5 + 10;
//int h[M][2], idx, d[N];
//int n;
//void insert(int x)
//{
//    int p = 0;
//    for (int i = 30; i >= 0; i--)
//    {
//        int u = x >> i & 1;
//        if (!h[p][u]) h[p][u] = ++idx;
//        else p = h[p][u];
//    }
//}
//int find(int x)
//{
//    int p = 0;
//    int res = 0;
//    for (int i = 30; i >= 0; i--)
//    {
//        int u = x >> i & 1;
//        if (h[p][!u])
//        {
//            p = h[p][!u];
//            res = res * 2 + u;
//        }
//        else
//        {
//            p = h[p][u];
//            res *= 2;
//        }
//    }
//    return res;
//}
//int main()
//{
//    int n;
//    scanf("%d", &n);
//    int res = 0;
//    for (int i = 0; i < n; i++)
//    {
//        int t;
//        scanf("%d", &t);
//        insert(d[i]);
//        res = max(res, d[i] ^ find(d[i]));
//    }
//    printf("%d", res);
//    return 0;
//}
//void LTPopFront(LTNode* phead)
//{
//    assert(phead);
//    assert(!empty(phead));
//    LTNode* ne = phead->next;
//    phead->next = phead->next->next;
//    phead->next->prev = phead;
//    free(ne);
//}
#include <iostream>
#include <cstdio>

using namespace std;
const int N = 1e5 + 10, M = 31e5 + 10;
int h[M][2], idx, d[N];
int n;
void insert(int x)
{
    int p = 0;
    for (int i = 30; ~i; i--)
    {
        int u = x >> i & 1;
        if (!h[p][u]) h[p][u] = ++idx;
        else p = h[p][u];
    }
}
int find(int x)
{
    int p = 0;
    int res = 0;
    for (int i = 30; ~i; i--)
    {
        int u = x >> i & 1;
        if (h[p][!u])
        {
            p = h[p][!u];
            res = res * 2 + !u;
        }
        else
        {
            p = h[p][u];
            res = res * 2 + u;
        }
    }
    return res;
}
int main()
{
    int n;
    scanf("%d", &n);
    int res = 0;
    for (int i = 0; i < n; i++)
    {
        int t;
        scanf("%d", &t);
        insert(t);
        res = max(res, t ^ find(t));
    }
    printf("%d", res);
    return 0;
}